home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2re.plp < prev    next >
Text File  |  1993-11-30  |  8KB  |  405 lines

  1. /**********   発言を参照して応答文書を作成する  v1.04a用   **********/
  2.  
  3. %mark    {| };
  4. %foot    {};
  5. %Head    {No};
  6.  
  7. var Seikei[30];
  8. var seikei[3];
  9. var Place[3];
  10. var place[7];
  11. var Center[1];
  12. var center[6];
  13. var Centernm[2];
  14. var Left[1];
  15. var left[6];
  16. var Right[1];
  17. var right[7];
  18. var Kinsoku[1];
  19. var kinsoku[7];
  20. var Inyou[1];
  21. var inyou[3];
  22. var Chikan[210];
  23. var chikan[210];
  24. var Def[1];
  25. var def[9];
  26.  
  27. %txf    {txf};
  28.  
  29. %foo    tmpdir|{\_foo.dat};
  30. %bar    tmpdir|{\_bar.dat};
  31.  
  32. %check{[NUM]
  33.     case(@mcheck,0,{mopen(NUM)});
  34. };
  35.  
  36. %delmemo{
  37.     case(@mcheck,0,{mopen(1)}); mclose(3);
  38. };
  39.  
  40. %exceptclose{
  41.     case(@mcheck,0,{mopen(5)},4,{mclose(1); mopen(5)},5,);
  42.     mclose(2);
  43.     OutAllMemo;
  44. };
  45.  
  46. %SetHandle{
  47.     var Handle[20];
  48.     case(MesType,{OLD},{Handle:=@getchar(HLine,21,16)},
  49.              {NEW},{Handle:=@getchar(HLine,23,16)});
  50.     TrueHandle;
  51.     im(Handle);
  52. };
  53.  
  54. %ok{
  55.     select({ 操作(清書or置換)は行われておりません},5,,{ OK? });
  56. };
  57.  
  58. %button{
  59.     footnote({終了 前  次     題名置換    引用呼出参照清書設定},{b});
  60. };
  61.  
  62. %Getnum{[LINE]
  63.     getchar(@getline(a,LINE,1),2,1);
  64. };
  65.  
  66. %Getnum2{[LINE]
  67.     getchar(@getline(a,@noline(a)-LINE,1),2,1);
  68. };
  69.  
  70. %Getline{[LINE]
  71.     head(@getline(a,LINE,1),{\n});
  72. };
  73.  
  74. %Getline2{[LINE]
  75.     body(@getline(a,LINE,1),,{\n});
  76. };
  77.  
  78. %SetIndex{
  79.     var fno[5];
  80.     %Wtype 
  81.     @select({ このメッセージを送信予約しますか?}
  82.         ,99999,{im({戻})},
  83.         {送信予約する},            {im({予})},
  84.         {送信予約しないが保存する},    {im({保})},
  85.         {再度,編集に戻る},        {im({戻})},
  86.         {保存しないで捨てる},        {im({捨})}
  87.         );
  88.     case(Wtype , 
  89.     {捨},{im(Wtype)},
  90.     {戻},{im(Wtype)},
  91.      ,{
  92.         fno:=0;
  93.         mkdir(logd,{UP});
  94.         %nametop logd|{\UP\};
  95.         loop({    fno:=fno+1;
  96.             filechk(nametop|{MES}|fno|{.txt})
  97.         });
  98.         fno:=@getchar(fno|{   },1,3);
  99.         IndexLine:=Wtype|{ }|fno|{ }|IndexLine|{:}|Wtitle;
  100.         write(nametop|{INDEX.TXT},IndexLine);
  101.         im(nametop|{MES}|fno|{.txt});
  102.     })
  103. };
  104.  
  105. %DelRes{
  106.     case(@nolmemo(5)!=0,
  107.     {Yes},{
  108.         case(@YesNo({ レスを破棄していいですか?}),
  109.         {Yes},{    exceptclose; im({No});
  110.         },{No},{OutAllMemo; im({Yes});
  111.         });
  112.     },{No},{exceptclose; im({No});
  113.     });
  114. };
  115.  
  116. %end{
  117.     delfile(foo);
  118.     delfile(bar);
  119. };
  120.  
  121. %SetTDoc2{
  122.     var Wtitle2[60];
  123.     Wtitle2:=@head(Wtitle,{\n});
  124.     loop({
  125.         Wtitle2:=@input({ 題名を入れてください},,Wtitle2);
  126.         case(@nochar(Wtitle2)>40,
  127.         {Yes},{ footnote({ 題名は, 全角20文字までです});
  128.             im({Yes});
  129.         },{No},{im({No});
  130.         });
  131.     });
  132.     case(Wtitle2<>{},{Yes},{Wtitle:=Wtitle2|{\n}});
  133.     button;
  134.     im({Yes});
  135. };
  136.  
  137. %change2{
  138.     var moto[80];
  139.     var ato[80];
  140.  
  141.     OutAllMemo;
  142.     case(@nolmemo(5)<>0,{Yes},{
  143.         moto:=@input({ 現文字列を入力してください});
  144.         case(moto<>{},{Yes},{
  145.             ato:=@input({ 新文字列を入力してください});
  146.             case(@mcheck<>0,{Yes},{mclose(1)});
  147.             mwrite(foo,5);
  148.             footnote({ ただいま変換中です});
  149.             command(txf|{ -i }|foo|{ -o }|bar|{ -n -e }|
  150.                 moto|{ }|ato);
  151.             case(@filechk(bar),
  152.             {Yes},{    mclear(5);
  153.                 mread(bar,5);
  154.                 delfile(bar);
  155.             },{No},{
  156.                 select({ TXFが用意されていません},1);
  157.             });
  158.             button;
  159.         });
  160.     });
  161.     mopen(5);
  162.     im({Yes});
  163. };
  164.  
  165. %addfoot{
  166.     OutAllMemo;
  167.     madd(5,foot);
  168.     mopen(5);
  169. };
  170.  
  171. %quote{
  172.     var cnt[4];
  173.     %MAX    @nolmemo(4);
  174.     cnt:=1;
  175. /*    select({ 元発言を引用します},9999,{
  176.     },{  O K  },{*/
  177.         OutAllMemo;
  178.         footnote({ ただいま元発言を転送中です});
  179.         madd(5,{});
  180.         loop({
  181.             madd(5,mark);
  182.             madd(5,@memo(4,cnt,1));
  183.             cnt:=cnt+1;
  184.             im(cnt<MAX);
  185.         });
  186.         button;
  187.         mopen(5);
  188. /*    },{  N G  },{
  189.     });*/
  190. };
  191.  
  192. %callfile2{
  193.     case( @filechk(foo),
  194.     {Yes},{
  195.         select({ 文書を操作(清書or置換)前の状態に戻します},
  196.             999,{im({No});
  197.         },{  O K  },{
  198.             OutAllMemo;
  199.             case(@mcheck<>0,{Yes},{mclose(1)});
  200.             mclear(5);
  201.             mread(foo,5);
  202.             delfile(bar);
  203.             mopen(5);
  204.         },{  N G  },{
  205.         });
  206.     },{No},{ok;
  207.     });
  208.     im({Yes});
  209. };
  210.  
  211. %txtform2{
  212.  
  213.     case(Seikei,{1},{seikei:={ -f}},{2},{seikei:={ -n}});
  214.     case(Place<>{},{Yes},{place:={ -l }|(Place)});
  215.     case(Center,{1},{center:={ -c }|Centernm},{2},{center:={}});
  216.     case(Left,{1},{left:={}},{2},{left:={ -ml 2}},
  217.         {3},{left:={ -ml 4}},{4},{left:={ -ml 6}});
  218.     case(Right,{1},{right:={}},{2},{right:={ -mr }|Place-2},
  219.         {3},{right:={ -mr }|Place-4},{4},{right:={ -mr }|Place-6});
  220.     case(Kinsoku,{1},{kinsoku:={}},{2},{kinsoku:={ -kl""}});
  221.     case(Inyou,{1},{inyou:={ -q}},{2},{inyou:={}});
  222.     case(Chikan<>{},{Yes},{chikan:={ }|Chikan});
  223.     case(Def,{1},{def:={ @arrange}},{2},{def:={}});
  224.  
  225.     OutAllMemo;
  226.     case(@nolmemo(5)<>0,{Yes},{
  227.         mwrite(foo,5);
  228.         footnote({ ただいま変換中です});
  229.         command(txf|{ -a -i }|foo|{ -o }|bar|def|kinsoku|place|
  230.             center|left|right|inyou|seikei|{ -r }|chikan);
  231.         case(@filechk(bar),
  232.         {Yes},{    mclear(5);
  233.             mread(bar,5);
  234.             delfile(bar);
  235.         },{No},{
  236.             select({ TXFが用意されていません},1,);
  237.         });
  238.         button;
  239.     });
  240.     mopen(5);
  241.     im({Yes});
  242. };
  243.  
  244. %config{
  245.     OutAllMemo;
  246.     %putdata{
  247.         %wm @mlast+1;
  248.         %putplp2{[HEAD,DATA]
  249.             madd(wm,HEAD|{:=}|@xc({7b})|DATA|@xc({7d})|{;\n});
  250.         };
  251.  
  252.         loop({ 
  253.             case(@mcheck<>{0},
  254.             {Yes},{mclose(1); im({Yes});
  255.             },{No},{ im({No});
  256.             });
  257.         });
  258.  
  259.         putplp2({Seikei},Seikei);
  260.         putplp2({Place},Place);
  261.         putplp2({Center},Center);
  262.         putplp2({Centernm},Centernm);
  263.         putplp2({Left},Left);
  264.         putplp2({Right},Right);
  265.         putplp2({Kinsoku},Kinsoku);
  266.         putplp2({Inyou},Inyou);
  267.         putplp2({Chikan},Chikan);
  268.         putplp2({Def},Def);
  269.  
  270.         setcdir2(current);
  271.         mwrite({ARRNGSET.PLP},wm);
  272.         mopen(wm,0,21,639,459);
  273.         mclose(3);
  274.         OutAllMemo;
  275.     };
  276.  
  277.     %Data{
  278.         Seikei:=@Getnum(2);
  279.         Place:=@Getline(3);
  280.         Center:=@Getnum(4);
  281.         Centernm:=@Getline(5);
  282.         Left:=@Getnum(6);
  283.         Right:=@Getnum(7);
  284.         Kinsoku:=@Getnum(8);
  285.         Inyou:=@Getnum(9);
  286.         Chikan:=@Getline2(10);
  287.         Def:=@Getnum2(2);
  288.     };
  289.  
  290.     %a    @plane(
  291.         {c  現在の設定は以下のとおりです\n}|
  292.         {c\n}|
  293.         {s   設定の処理      /  保 存  /  呼 出  \n}|
  294.         {r   文書整形       /する /しない\n}|
  295.         {t     最大桁数        /xxx\n}|
  296.         {r   センタリング  /する /しない\n}|
  297.         {t   センタリング桁数   /xx\n}|
  298.         {r   左空白(全角)    /0 /1 /2 /3\n}|
  299.         {r   右空白(全角)    /0 /1 /2 /3\n}|
  300.         {r   禁足処理        /する  /しない\n}|
  301.         {r   引用符処理      /する  /しない\n}|
  302.         {t     置換            /\n}|
  303.         {r   定義ファイル    /使う  /使わない\n}|
  304.         {c\n}|
  305.         {s    /    終 了    \n},
  306.         Seikei,Place,Center,Centernm,Left,Right,Kinsoku,Inyou,
  307.             Chikan,Def,
  308.     );
  309.  
  310.     case(@Getnum(1),
  311.         {1},{case(@YesNo({ 設定ファイルに保存していいですか?}),
  312.             {Yes},{Data; putdata; })},
  313.         {2},{case(@YesNo({ 設定ファイルから呼出していいですか?}),
  314.             {Yes},{#ARRNGSET.PLP; })}
  315.     );
  316.     case(@Getnum2(1),{1},{
  317.         Data;
  318.     });
  319.     im({Yes});
  320. };
  321.  
  322. %open{
  323.     case(DivDisp,
  324.     {ORI},{
  325.         mopen(4,0,21,639,220,{r});
  326.         mclose(1);
  327.         mopen(5,0,220,639,459,{w});
  328.     },{REV},{
  329.         mopen(4,0,260,639,459,{r});
  330.         mclose(1);
  331.         mopen(5,0,21,639,260,{w});
  332.     });
  333.     button;
  334. };
  335.  
  336. %RES{
  337.     case( ( type={Forum} || type={Patio} ) && Head={Yes} && kind={},{Yes},{
  338.         case(action={RES},{Yes},{
  339.         %HLine    @memo(4,1,1);
  340.         madd(5,{#}|@head(HLine,{/})|{ }|@SetHandle|{ さん\n\n});
  341.         });
  342.     });
  343. /*    madd(5,foot);*/
  344.     loop({
  345.         Edit:={Yes};
  346.         open;
  347.         loop({
  348.             loop({    waitx(9999); im(@xtype<100)});
  349.             case(@PFK(@xtype),
  350.                   101,{ Edit:={No};
  351.                 },102,{ case(TREE,
  352.                     {Yes},{    loop({loadmsg2({-})});
  353.                     },{No},{loop({loadmsg({-})});
  354.                     });
  355.                     open;
  356.                 },103,{ case(TREE,
  357.                     {Yes},{    loop({loadmsg2({+})});
  358.                     },{No},{loop({loadmsg({+})});
  359.                     });
  360.                     open;
  361.                 },105,{ SetTDoc2;
  362.                 },106,{ change2;
  363.                 },107,{ addfoot;
  364.                 },108,{ quote;
  365.                 },109,{ callfile2;
  366.                 },110,{ refer;
  367.                     open;
  368.                 },111,{ txtform2;
  369.                 },112,{ config;
  370.                 },   ,{ OutAllMemo; open;
  371.             });
  372.             im(Edit);
  373.         });
  374.         case(@nolmemo(5)<>0,
  375.         {Yes},{
  376.             %OutFile @SetIndex;
  377.             case(OutFile, 
  378.             {捨},{DelRes},
  379.             {戻},{OutAllMemo; im({Yes})},
  380.                 ,{exceptclose;     mwrite(OutFile,5); im({No})}
  381.             );
  382.         },{No},{
  383.             exceptclose;
  384.             mset(5,{n});
  385.             im({No});
  386.         });
  387.     });
  388.     end;
  389. };
  390.  
  391. setcdir2(current);
  392. case(@filechk({ARRNGSET.PLP}),{No},{
  393.     write(    {ARRNGSET.PLP},
  394.         {Seikei:={1};\n}|{Place:={76};\n}|{Center:={2};\n}|
  395.         {Centernm:={60};\n}|{Left:={1};\n}|{Right:={3};\n}|
  396.         {Kinsoku:={1};\n}|{Inyou:={1};\n}|
  397.         {Chikan:={-e 、  、 -e 。  。};\n}|{Def:={2};\n}
  398.     );
  399. });
  400. #ARRNGSET.PLP;
  401. dispoff({Yes});
  402. RES;
  403. dispoff({No});
  404. OutAllMemo;
  405.